Apparatus, system and method of neighbor awareness networking (NAN) geo-fencing

ABSTRACT

Some demonstrative embodiments include apparatuses, systems and/or methods of Neighbor Awareness Networking (NAN) Geo-Fencing. For example, an apparatus may include circuitry configured to cause a Neighbor Awareness Networking (NAN) device to process a plurality of geo-fencing parameters of a geofence from an application on the NAN device; and perform geo-fencing with another NAN device based on the geo-fencing parameters.

CROSS REFERENCE

This application claims the benefit of and priority from U.S.Provisional Patent Application No. 62/107,548 entitled “Apparatus,System and Method of Geo-Fencing in Awareness Networking”, filed Jan.26, 2015, the entire disclosure of which is incorporated herein byreference.

TECHNICAL FIELD

Embodiments described herein generally relate to Neighbor AwarenessNetworking (NAN) geo-fencing.

BACKGROUND

Various applications use range information between devices.

The range information may enable, for example, users of the devices tomeet new people and/or to use one or more services provided by thedevices, e.g., when the devices are in proximity to each other. In oneexample, a Smartphone may “unlock” a notebook, for example, if theSmartphone is within a predefined distance, e.g., less than one meter,from the notebook. In another example, an alarm may be triggered, forexample, if the distance between the Smartphone and the notebook isgreater than a predefined distance.

BRIEF DESCRIPTION OF THE DRAWINGS

For simplicity and clarity of illustration, elements shown in thefigures have not necessarily been drawn to scale. For example, thedimensions of some of the elements may be exaggerated relative to otherelements for clarity of presentation. Furthermore, reference numeralsmay be repeated among the figures to indicate corresponding or analogouselements. The figures are listed below.

FIG. 1 is a schematic block diagram illustration of a system, inaccordance with some demonstrative embodiments.

FIG. 2 is a schematic illustration of a Neighbor Awareness Networking(NAN) discovery scheme, in accordance with some demonstrativeembodiments.

FIG. 3 is a schematic illustration of geo-fencing types, in accordancewith some demonstrative embodiments.

FIG. 4 is a schematic flow-chart illustration of a method of NeighborAwareness Networking (NAN) Geo-Fencing, in accordance with somedemonstrative embodiments.

FIG. 5 is a schematic illustration of a product, in accordance with somedemonstrative embodiments.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of some embodiments.However, it will be understood by persons of ordinary skill in the artthat some embodiments may be practiced without these specific details.In other instances, well-known methods, procedures, components, unitsand/or circuits have not been described in detail so as not to obscurethe discussion.

Discussions herein utilizing terms such as, for example, “processing”,“computing”, “calculating”, “determining”, “establishing”, “analyzing”,“checking”, or the like, may refer to operation(s) and/or process(es) ofa computer, a computing platform, a computing system, or otherelectronic computing device, that manipulate and/or transform datarepresented as physical (e.g., electronic) quantities within thecomputer's registers and/or memories into other data similarlyrepresented as physical quantities within the computer's registersand/or memories or other information storage medium that may storeinstructions to perform operations and/or processes.

The terms “plurality” and “a plurality”, as used herein, include, forexample, “multiple” or “two or more”. For example, “a plurality ofitems” includes two or more items.

References to “one embodiment”, “an embodiment”, “demonstrativeembodiment”, “various embodiments” etc., indicate that the embodiment(s)so described may include a particular feature, structure, orcharacteristic, but not every embodiment necessarily includes theparticular feature, structure, or characteristic. Further, repeated useof the phrase “in one embodiment” does not necessarily refer to the sameembodiment, although it may.

As used herein, unless otherwise specified the use of the ordinaladjectives “first”, “second”, “third” etc., to describe a common object,merely indicate that different instances of like objects are beingreferred to, and are not intended to imply that the objects so describedmust be in a given sequence, either temporally, spatially, in ranking,or in any other manner

Some embodiments may be used in conjunction with devices and/or networksoperating in accordance with existing Wi-Fi Alliance (WFA)Specifications (including Wi-Fi Neighbor Awareness Networking (NAN)Technical Specification, Version 1.0, May 1, 2015) and/or futureversions and/or derivatives thereof, devices and/or networks operatingin accordance with existing WFA Peer-to-Peer (P2P) specifications (Wi-FiP2P technical specification, version 1.5, Aug. 4, 2014) and/or futureversions and/or derivatives thereof, devices and/or networks operatingin accordance with existing Wireless-Gigabit-Alliance (WGA)specifications (Wireless Gigabit Alliance, Inc WiGig MAC and PHYSpecification Version 1.1, April 2011, Final specification) and/orfuture versions and/or derivatives thereof, devices and/or networksoperating in accordance with existing IEEE 802.11 standards (IEEE802.11-2012, IEEE Standard for Information technology—Telecommunicationsand information exchange between systems Local and metropolitan areanetworks—Specific requirements Part 11: Wireless LAN Medium AccessControl (MAC) and Physical Layer (PHY) Specifications, Mar. 29, 2012;IEEE802.11ac-2013 (“IEEE P802.11ac-2013, IEEE Standard for InformationTechnology—Telecommunications and Information Exchange BetweenSystems—Local and Metropolitan Area Networks—Specific Requirements—Part11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications—Amendment 4: Enhancements for Very High Throughput forOperation in Bands below 6 GHz”, December, 2013); IEEE 802.11ad (“IEEEP802.11ad-2012, IEEE Standard for InformationTechnology—Telecommunications and Information Exchange BetweenSystems—Local and Metropolitan Area Networks—Specific Requirements—Part11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications—Amendment 3: Enhancements for Very High Throughput in the60 GHz Band”, 28 Dec., 2012); and/or IEEE-802.11REVmc (“IEEE802.11-REVmc™/D3.0, June 2014 draft standard for Informationtechnology—Telecommunications and information exchange between systemsLocal and metropolitan area networks Specific requirements; Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specification”)) and/or future versions and/or derivatives thereof,devices and/or networks operating in accordance with existing cellularspecifications and/or protocols, e.g., 3rd Generation PartnershipProject (3GPP), 3GPP Long Term Evolution (LTE) and/or future versionsand/or derivatives thereof, units and/or devices which are part of theabove networks, and the like.

Some embodiments may be used in conjunction with one way and/or two-wayradio communication systems, cellular radio-telephone communicationsystems, a mobile phone, a cellular telephone, a wireless telephone, anInternet of things (IoT) device, a sensor device, a PersonalCommunication Systems (PCS) device, a PDA device which incorporates awireless communication device, a mobile or portable Global PositioningSystem (GPS) device, a device which incorporates a GPS receiver ortransceiver or chip, a device which incorporates an RFID element orchip, a Multiple Input Multiple Output (MIMO) transceiver or device, aSingle Input Multiple Output (SIMO) transceiver or device, a MultipleInput Single Output (MISO) transceiver or device, a device having one ormore internal antennas and/or external antennas, Digital Video Broadcast(DVB) devices or systems, multi-standard radio devices or systems, awired or wireless handheld device, e.g., a Smartphone, a WirelessApplication Protocol (WAP) device, or the like.

Some embodiments may be used in conjunction with one or more types ofwireless communication signals and/or systems, for example, RadioFrequency (RF), Infra Red (IR), Frequency-Division Multiplexing (FDM),Orthogonal FDM (OFDM), Orthogonal Frequency-Division Multiple Access(OFDMA), FDM Time-Division Multiplexing (TDM), Time-Division MultipleAccess (TDMA), Multi-User MIMO (MU-MIMO), Extended TDMA (E-TDMA),General Packet Radio Service (GPRS), extended GPRS, Code-DivisionMultiple Access (CDMA), Wideband CDMA (WCDMA), CDMA 2000, single-carrierCDMA, multi-carrier CDMA, Multi-Carrier Modulation (MDM), DiscreteMulti-Tone (DMT), Bluetooth®, Global Positioning System (GPS), Wi-Fi,Wi-Max, ZigBee™, Ultra-Wideband (UWB), Global System for Mobilecommunication (GSM), 2G, 2.5G, 3G, 3.5G, 4G, Fifth Generation (5G)mobile networks, 3GPP, Long Term Evolution (LTE), LTE advanced, EnhancedData rates for GSM Evolution (EDGE), or the like. Other embodiments maybe used in various other devices, systems and/or networks.

The term “wireless device”, as used herein, includes, for example, adevice capable of wireless communication, a communication device capableof wireless communication, a communication station capable of wirelesscommunication, a portable or non-portable device capable of wirelesscommunication, or the like. In some demonstrative embodiments, awireless device may be or may include a peripheral that is integratedwith a computer, or a peripheral that is attached to a computer. In somedemonstrative embodiments, the term “wireless device” may optionallyinclude a wireless service.

The term “communicating” as used herein with respect to a communicationsignal includes transmitting the communication signal and/or receivingthe communication signal. For example, a communication unit, which iscapable of communicating a communication signal, may include atransmitter to transmit the communication signal to at least one othercommunication unit, and/or a communication receiver to receive thecommunication signal from at least one other communication unit. Theverb communicating may be used to refer to the action of transmitting orthe action of receiving. In one example, the phrase “communicating asignal” may refer to the action of transmitting the signal by a firstdevice, and may not necessarily include the action of receiving thesignal by a second device. In another example, the phrase “communicatinga signal” may refer to the action of receiving the signal by a firstdevice, and may not necessarily include the action of transmitting thesignal by a second device.

Some demonstrative embodiments may be used in conjunction with a WLAN,e.g., a Wi-Fi network. Other embodiments may be used in conjunction withany other suitable wireless communication network, for example, awireless area network, a “piconet”, a WPAN, a WVAN and the like.

The term “antenna”, as used herein, may include any suitableconfiguration, structure and/or arrangement of one or more antennaelements, components, units, assemblies and/or arrays. In someembodiments, the antenna may implement transmit and receivefunctionalities using separate transmit and receive antenna elements. Insome embodiments, the antenna may implement transmit and receivefunctionalities using common and/or integrated transmit/receiveelements. The antenna may include, for example, a phased array antenna,a single element antenna, a set of switched beam antennas, and/or thelike.

Some demonstrative embodiments are described herein with respect toWi-Fi communication. However, other embodiments may be implemented withrespect to any other communication scheme, network, standard and/orprotocol.

The phrase “peer to peer (PTP) communication”, as used herein, mayrelate to device-to-device communication over a wireless link(“peer-to-peer link”) between devices. The PTP communication mayinclude, for example, a Wi-Fi Direct (WFD) communication, e.g., a WFDPeer to Peer (P2P) communication, wireless communication over a directlink within a QoS basic service set (BSS), a tunneled direct-link setup(TDLS) link, a STA-to-STA communication in an independent basic serviceset (IBSS), or the like.

Reference is now made to FIG. 1, which schematically illustrates a blockdiagram of a system 100, in accordance with some demonstrativeembodiments.

As shown in FIG. 1, in some demonstrative embodiments system 100 mayinclude a wireless communication network including one or more wirelesscommunication devices, e.g., wireless communication devices 102 and/or140.

In some demonstrative embodiments, wireless communication device 102and/or device 140 may include, for example, a UE, an MD, a STA, an AP, aPC, a desktop computer, a mobile computer, a laptop computer, anUltrabook™ computer, a notebook computer, a tablet computer, a servercomputer, a handheld computer, a handheld device, an Internet of Things(IoT) device, a sensor device, a PDA device, a handheld PDA device, anon-board device, an off-board device, a hybrid device (e.g., combiningcellular phone functionalities with PDA device functionalities), aconsumer device, a vehicular device, a non-vehicular device, a mobile orportable device, a non-mobile or non-portable device, a mobile phone, acellular telephone, a PCS device, a PDA device which incorporates awireless communication device, a mobile or portable GPS device, a DVBdevice, a relatively small computing device, a non-desktop computer, a“Carry Small Live Large” (CSLL) device, an Ultra Mobile Device (UMD), anUltra Mobile PC (UMPC), a Mobile Internet Device (MID), an “Origami”device or computing device, a device that supports DynamicallyComposable Computing (DCC), a context-aware device, a video device, anaudio device, an A/V device, a Set-Top-Box (STB), a Blu-ray disc (BD)player, a BD recorder, a Digital Video Disc (DVD) player, a HighDefinition (HD) DVD player, a DVD recorder, a HD DVD recorder, aPersonal Video Recorder (PVR), a broadcast HD receiver, a video source,an audio source, a video sink, an audio sink, a stereo tuner, abroadcast radio receiver, a flat panel display, a Personal Media Player(PMP), a digital video camera (DVC), a digital audio player, a speaker,an audio receiver, an audio amplifier, a gaming device, a data source, adata sink, a Digital Still camera (DSC), a media player, a Smartphone, atelevision, a music player, or the like.

In some demonstrative embodiments, device 102 and/or device 140 mayinclude, or may perform the functionality of an Access Point (AP) STA.

In some demonstrative embodiments, device 102 and/or device 140 mayinclude, or may perform the functionality of, a non-AP STA.

In one example, both of devices 102 and 140 may include, or may performthe functionality of, a non-AP STA.

In another example, one of devices 102 and 140 may include, or mayperform the functionality of, an AP STA, and another one of devices 102and 140 may include, or may perform the functionality of, a non-AP STA.For example, device 102 may perform the functionality of an AP, anddevice 140 may perform the functionality of a non-AP STA. In anotherexample, device 140 may perform the functionality of an AP STA, anddevice 102 may perform the functionality of a non-AP STA.

In yet another example, both of devices 102 and 140 may include, or mayperform the functionality of, an AP STA.

In some demonstrative embodiments, an AP may include, or may perform thefunctionality of, for example, a router, a PC, a server, a Hot-Spotand/or the like.

In some demonstrative embodiments, the non-AP may include, for example,a Smartphone, a tablet, a notebook, a sensor device, a UE, a mobiledevice, an IoT device, and/or the like.

In one example, a station (STA) may include a logical entity that is asingly addressable instance of a medium access control (MAC) andphysical layer (PHY) interface to the wireless medium (WM). The STA mayperform any other additional or alternative functionality.

In one example, an AP may include an entity that contains a station(STA), e.g., one STA, and provides access to distribution services, viathe wireless medium (WM) for associated STAs. The AP may perform anyother additional or alternative functionality.

In one example, a non-access-point (non-AP) station (STA) may include aSTA that is not contained within an AP. The non-AP STA may perform anyother additional or alternative functionality.

In some demonstrative embodiments, device 102 and/or device 140 mayinclude, for example, one or more of a processor 191, an input unit 192,an output unit 193, a memory unit 194, and/or a storage unit 195. Device102 and/or device 140 may optionally include other suitable hardwarecomponents and/or software components. In some demonstrativeembodiments, some or all of the components of device 102 and/or device140 may be enclosed in a common housing or packaging, and may beinterconnected or operably associated using one or more wired orwireless links. In other embodiments, components of devices 102 and/or140 may be distributed among multiple or separate devices.

In some demonstrative embodiments, processor 191 may include, forexample, a Central Processing Unit (CPU), a Digital Signal Processor(DSP), one or more processor cores, a single-core processor, a dual-coreprocessor, a multiple-core processor, a microprocessor, a hostprocessor, a controller, a plurality of processors or controllers, achip, a microchip, one or more circuits, circuitry, a logic unit, anIntegrated Circuit (IC), an Application-Specific IC (ASIC), or any othersuitable multi-purpose or specific processor or controller. Processor191 executes instructions, for example, of an Operating System (OS) ofdevice 102 and/or of one or more suitable applications.

In some demonstrative embodiments, input unit 192 may include, forexample, a keyboard, a keypad, a mouse, a touch-screen, a touch-pad, atrack-ball, a stylus, a microphone, or other suitable pointing device orinput device. Output unit 193 includes, for example, a monitor, ascreen, a touch-screen, a flat panel display, a Light Emitting Diode(LED) display unit, a Liquid Crystal Display (LCD) display unit, aplasma display unit, one or more audio speakers or earphones, or othersuitable output devices.

In some demonstrative embodiments, memory unit 194 may include, forexample, a Random Access Memory (RAM), a Read Only Memory (ROM), aDynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), a flash memory, avolatile memory, a non-volatile memory, a cache memory, a buffer, ashort term memory unit, a long term memory unit, or other suitablememory units. Storage unit 195 includes, for example, a hard disk drive,a floppy disk drive, a Compact Disk (CD) drive, a CD-ROM drive, a DVDdrive, or other suitable removable or non-removable storage units.Memory unit 194 and/or storage unit 195, for example, may store dataprocessed by device 102.

In some demonstrative embodiments, wireless communication devices 102and/or 140 may be capable of communicating content, data, informationand/or signals via a wireless medium (WM) 103. In some demonstrativeembodiments, wireless medium 103 may include, for example, a radiochannel, a cellular channel, a Global Navigation Satellite System (GNSS)Channel, an RF channel, a Wi-Fi channel, an IR channel, a Bluetooth (BT)channel, and the like.

In some demonstrative embodiments, wireless communication medium 103 mayinclude a wireless communication channel over a 2.4 Gigahertz (GHz)frequency band, a 5 GHz frequency band, a millimeterWave (mmWave)frequency band, e.g., a 60 GHz frequency band, a Sub 1 Gigahertz (S1G)band, and/or any other frequency band.

In some demonstrative embodiments, device 102 and/or device 140 mayinclude one or more radios including circuitry and/or logic to performwireless communication between devices 102, 140 and/or one or more otherwireless communication devices. For example, device 102 and/or device140 may include a radio 114.

In some demonstrative embodiments, radio 114 may include one or morewireless receivers (Rx) including circuitry and/or logic to receivewireless communication signals, RF signals, frames, blocks, transmissionstreams, packets, messages, data items, and/or data. For example, radio114 may include a receiver 116.

In some demonstrative embodiments, radio 114 may include one or morewireless transmitters (Tx) including circuitry and/or logic to sendwireless communication signals, RF signals, frames, blocks, transmissionstreams, packets, messages, data items, and/or data. For example, radio114 may include a transmitter 118.

In some demonstrative embodiments, radio 114 may be configured tocommunicate over a 2.4 GHz band, a 5 GHz band, a mmWave band, a S1Gband, and/or any other band.

In some demonstrative embodiments, radio 114 may include circuitryand/or logic, modulation elements, demodulation elements, amplifiers,analog to digital and digital to analog converters, filters, and/or thelike. In one example, radio 114 may include or may be implemented aspart of a wireless Network Interface Card (NIC), and the like.

In some demonstrative embodiments, radio 114 may include, or may beassociated with, one or more antennas 107.

In one example, device 102 may include a single antenna 107. In otherexample, device 102 may include two or more antennas 107.

Antennas 107 may include any type of antennas suitable to transmitand/or receive wireless communication signals, blocks, frames,transmission streams, packets, messages and/or data. For example,antennas 107 may include any suitable configuration, structure and/orarrangement of one or more antenna elements, components, units,assemblies and/or arrays. Antennas 107 may include, for example,antennas suitable for directional communication, e.g., using beamformingtechniques. For example, antennas 107 may include a phased arrayantenna, a multiple element antenna, a set of switched beam antennas,and/or the like. In some embodiments, antennas 107 may implementtransmit and receive functionalities using separate transmit and receiveantenna elements. In some embodiments, antennas 107 may implementtransmit and receive functionalities using common and/or integratedtransmit/receive elements.

In some demonstrative embodiments, wireless communication device 102and/or device 140 may form, and/or may communicate as part of, awireless local area network (WLAN).

In some demonstrative embodiments, wireless communication devices 102and/or 140 may form, and/or may communicate as part of, a Wi-Fi network.

In some demonstrative embodiments, wireless communication devices 102and/or 140 may form, and/or may communicate as part of, a Wi-Fi Direct(WFD) network, e.g., a Wi-Fi direct services (WFDS) network, and/or mayperform the functionality of one or more WFD devices.

In one example, wireless communication devices 102 and/or 140 mayinclude, or may perform the functionality of a Wi-Fi Direct device.

In some demonstrative embodiments, wireless communication devices 102and/or 140 may be capable of performing awareness networkingcommunications, for example, according to an awareness protocol, e.g., aWi-Fi aware protocol, and/or any other protocol, e.g., as describedbelow.

In some demonstrative embodiments, wireless communication devices 102and/or 140 may be capable of forming, and/or communicating as part of, aNeighbor Awareness Networking (NAN) network, e.g., a Wi-Fi NAN or Wi-FiAware network, and/or may perform the functionality of one or more NANdevices (“Wi-Fi aware devices”).

In some demonstrative embodiments, wireless communication medium 103 mayinclude a direct link, for example, a PTP link, e.g., a Wi-Fi direct P2Plink or any other PTP link, for example, to enable direct communicationbetween device 102 and device 140.

In some demonstrative embodiments, wireless communication devices 102and/or 140 may perform the functionality of WFD P2P devices. Forexample, devices 102 and/or 140 may be able to perform the functionalityof a P2P client device, and/or P2P group Owner (GO) device.

In other embodiments, wireless communication devices 102 and/or 140 mayform, and/or communicate as part of, any other network and/or performthe functionality of any other wireless devices or stations.

In some demonstrative embodiments, device 102 and/or device 140 mayinclude one or more applications configured to provide, share, and/or touse one or more services, e.g., a social application, a file sharingapplication, a media application and/or the like, for example, using anawareness network, NAN network (“Wi-Fi Aware network”), a PTP network, aP2P network, WFD network, or any other network.

In some demonstrative embodiments, device 102 may execute an application125 and/or an application 126.

In some demonstrative embodiments, device 102 and/or device 140 may becapable of sharing, showing, sending, transferring, printing,outputting, providing, synchronizing, and/or exchanging content, data,and/or information, e.g., between applications and/or services of device102 and/or device 140, and/or one or more other devices.

In some demonstrative embodiments, device 102 and/or device 140 mayinclude a NAN module configured to control one or more NANfunctionalities of device 102 and/or device 140, for example, one ormore functionalities of communication, e.g., awareness networkingcommunications, Wi-Fi Aware (NAN) communication and/or any othercommunication, between device 102 and/or device 140 and/or otherdevices, one or more operations, e.g., NAN operations, and/or any otherfunctionality and/or operations, e.g., as described below. For example,device 102 may include a NAN module 120.

In some demonstrative embodiments, device 102 and/or device 140 mayinclude a controller configured to control one or more functionalitiesof device 102 and/or device 140, for example, one or morefunctionalities of communication, e.g., awareness networkingcommunications, Wi-Fi Aware (NAN) communication and/or any othercommunication, between device 102 and/or device 140 and/or otherdevices, one or more operations, e.g., NAN operations, and/or any otherfunctionality and/or operations, e.g., as described below. For example,NAN module 120 may include a controller 124.

In some demonstrative embodiments, controller 124 may be configured toperform one or more functionalities, communications, operations and/orprocedures between wireless communication device 102 and/or device 140,and/or one or more other devices, e.g., as described below.

In some demonstrative embodiments, controller 124 may include circuitryand/or logic, e.g., one or more processors including circuitry and/orlogic, memory circuitry and/or logic, and/or any other circuitry and/orlogic, configured to perform the functionality of controller 124.Additionally or alternatively, one or more functionalities of controller124 may be implemented by logic, which may be executed by a machineand/or one or more processors, e.g., as described below.

In one example, controller 124 may include circuitry and/or logic, forexample, one or more processors including circuitry and/or logic, tocause a wireless device, e.g., device 102, and/or a wireless station,e.g., a wireless STA implemented by device 102, to perform one or moreoperations, communications and/or functionalities, e.g., as describedherein.

In one example, controller 124 may perform one or more functionalitiesof a NAN engine, e.g., a NAN discovery engine (DE), for example toprocess one or more service queries and/or responses, e.g., fromapplications and/or services on device 102 and/or device 140, and/or oneor more other devices.

In some demonstrative embodiments, device 102 and/or device 140 mayinclude one or more interfaces to interface between a controller ofdevice 102 and/or device 140 and one or more applications of device 102and/or device 140. For example, device 102 may include at least oneinterface 122 to interface between controller 124 and applications 125and/or 126.

In one example, interface 122 may include an Application ProgrammingInterface (API), e.g., a NAN API, for example, to receive one or moreservice queries and/or responses, e.g., from applications 125, 126and/or from one or more other services and/or applications on device102.

In some demonstrative embodiments, NAN module 120 may include a messageprocessor 128 configured to generate, process and/or access one ormessages communicated by device 102.

In one example, message processor 128 may be configured to generate oneor more messages to be transmitted by device 102, and/or messageprocessor 128 may be configured to access and/or to process one or moremessages received by device 102, e.g., as described below. In oneexample, message processor 128 may be configured to process transmissionof one or more messages from a wireless station, e.g., a wireless STAimplemented by device 102; and/or message processor 128 may beconfigured to process reception of one or more messages by a wirelessstation, e.g., a wireless STA implemented by device 102.

In some demonstrative embodiments, message processor 128 may includecircuitry and/or logic, e.g., one or more processors including circuitryand/or logic, memory circuitry and/or logic, Media-Access Control (MAC)circuitry and/or logic, Physical Layer (PHY) circuitry and/or logic,and/or any other circuitry and/or logic, configured to perform thefunctionality of message processor 128. Additionally or alternatively,one or more functionalities of message processor 128 may be implementedby logic, which may be executed by a machine and/or one or moreprocessors, e.g., as described below.

In one example, message processor 128 may perform one or morefunctionalities of a NAN MAC configured to generate, process and/orhandle one or more NAN messages, e.g., NAN Beacon frames and/or NANService Discovery frames.

In some demonstrative embodiments, at least part of the functionality ofmessage processor 128 may be implemented as part of radio 114.

In some demonstrative embodiments, at least part of the functionality ofmessage processor 128 may be implemented as part of controller 124.

In other embodiments, the functionality of message processor 128 may beimplemented as part of any other element of device 102.

In some demonstrative embodiments, at least part of the functionality ofNAN module 120, controller 124, and/or message processor 128 may beimplemented by an integrated circuit, for example, a chip, e.g., aSystem in Chip (SoC). In one example, the chip or SoC may be configuredto perform one or more functionalities of radio 114. For example, thechip or SoC may include one or more elements of NAN module 120, one ormore elements of controller 124, one or more elements of messageprocessor 128, and/or one or more elements of radio 114. In one example,NAN module 120, controller 124, message processor 128, and radio 114 maybe implemented as part of the chip or SoC.

In some demonstrative embodiments, device 102 and/or device 140 mayperform the functionality of a device or station, for example, anawareness networking device, a NAN device, a Wi-Fi device, a Wi-Fi Awaredevice, a WFD device, a WLAN device and/or any other device, capable ofdiscovering other devices according to a discovery protocol and/orscheme.

In some demonstrative embodiments, radio 114 may communicate overwireless communication medium 103 according to an awareness networkingscheme, for example, a discovery scheme, for example, a Wi-Fi Awarediscovery scheme (“NAN discovery scheme”), and/or any other awarenessnetworking and/or discovery scheme, e.g., as described below.

In some demonstrative embodiments, the awareness networking scheme,e.g., NAN, may enable applications to discover services in their closeproximity For example, the NAN technology may be a low power servicediscovery, which may, for example, scale efficiently, e.g., in denseWi-Fi environments.

In some demonstrative embodiments, a device, e.g., wirelesscommunication device 102 and/or wireless communication device 140, mayinclude one or more blocks and/or entities to perform network awarenessfunctionality. For example, a device, e.g., device 102 and/or device140, performing the functionality of a NAN device, may include a NAN MACand/or a Discovery Engine (DE). In one example, controller 124 may beconfigured to perform the functionality of the discovery engine, and/ormessage processor 128 may be configured to perform the functionality ofthe NAN MAC, e.g., as described above. In another example, thefunctionality of the NAN MAC and/or the Discovery engine may beperformed by any other element and/or entity of device 102 and/or device140.

In some demonstrative embodiments, the awareness networking scheme mayinclude a discovery scheme or protocol, e.g., as described below.

In some demonstrative embodiments, device 102 and/or device 140 mayperform a discovery process according to the awareness networkingscheme, for example, to discover each other and/or to establish awireless communication link, e.g., directional and/or high throughputwireless communication link and/or any other link.

In some demonstrative embodiments, device 102 and/or device 140 may beconfigured to enable time synchronization between devices 102, 140and/or one or more other devices, e.g., performing the functionality ofWi-Fi stations (STAs), for example, such that STAs can discover eachother more efficiently and/or quickly.

Some demonstrative embodiments are described below with respect to a NANdiscovery scheme, and to NAN discovery frames of the NAN discoveryscheme. However, in other embodiments, any other discovery scheme and/ordiscovery frames may be used.

In some demonstrative embodiments, the discovery scheme may include aplurality of contention-based discovery windows (DWs).

In some demonstrative embodiments, communication during the DWs may beconfigured to enable time synchronization between Wi-Fi stations (STAs),e.g., device 102 and/or device 140, such that, for example, STAs may beable to find each other more efficiently during a DW.

In some demonstrative embodiments, devices of an awareness network, e.g.a NAN network, may form one or more clusters, e.g., in order to publishand/or subscribe for services. A NAN cluster may be defined by an AnchorMaster (AM) (also referred to as a “NAN master device” or “anchordevice”). In one example, the AM may include a NAN device, which has thehighest rank in the NAN cluster.

In some demonstrative embodiments, NAN data exchange may be reflected bydiscovery frames, e.g., Publish, Subscribe and/or Follow-Up Servicediscovery frames (SDF). These frames may include action frames, whichmay be sent by a device that wishes to publish a service/application,and/or to subscribe to a published service/application at another end.

In one example, one of device 102 and/or device 140, e.g., device 102,may perform the functionality of an AM. The AM may be configured totransmit one or more beacons. Another one of device 102 and/or device140, e.g., device 140, may be configured to receive and process thebeacons.

In one example, device 102 and/or device 140 may perform thefunctionality of NAN devices, e.g., belonging to a NAN cluster, whichmay share a common set of NAN parameters, for example, including acommon NAN timestamp, and/or a common time period between consecutivediscovery windows (DWs). The NAN timestamp may be communicated, forexample, as part of a NAN beacon frame, which may be communicated in theNAN cluster. In one example, the NAN timestamp may include a TimeSynchronization Function (TSF) value, for example, a cluster TSF value,or any other value.

In some demonstrative embodiments, device 102 and/or device 140 may beconfigured to discover one another over a predefined communicationchannel (“the social channel”). In one example, the Channel 6 in the 2.4GHz band may be defined as the NAN social channel. Any other channel maybe used as the social channel.

In some demonstrative embodiments, device 102 and/or device 140 maytransmit discovery frames, e.g., SDFs, during the plurality of DWs,e.g., over the social channel. For example the NAN AM may advertise thetime of the DW, during which NAN devices may exchange SDFs.

In one example, device 102 and/or device 140 may transmit the discoveryframes to discover each other, for example, to enable using the one ormore services provided by applications 125 and/or 126.

In some demonstrative embodiments, device 102 and/or device 140 maycommunicate during a DW according to a contention mechanism. Forexample, device 102 and/or device 140 may check whether or not a channelis unoccupied prior to an attempt to transmit a discovery frame duringthe discovery window.

In some demonstrative embodiments, a device, e.g., device 102, may nottransmit the discovery frame during the DW, e.g., if the channel isoccupied. In some demonstrative embodiments, device 102 may transmit thediscovery frame during the DW, e.g., if the channel is unoccupied.

In some embodiments, the discovery frame may be transmitted as a groupaddressed, e.g., broadcast or multicast, discovery frame. In otherembodiments, the discovery frame may be transmitted as any other type offrame.

In some demonstrative embodiments, the discovery frame may not requirean acknowledgement frame. According to these embodiments, a transmitterof the discovery frame may not backoff a transmission of the discoveryframe.

In some demonstrative embodiments, the discovery frame transmitted bydevice 102 during the DW may be configured to enable other devices orservices that are running on other devices to discover the services ondevice 102.

In some demonstrative embodiments, devices of system 100 may utilizeavailability information, e.g., in the form of an Availability IntervalBitmap and/or Further Availability Map, for example, to allow a device,e.g., device 102 and/or device 140, to advertise its availability, forexample, in terms of at least one channel and one or more timeslots,during which the device may be available, e.g., active (“awake”), forexample, to perform post NAN activities.

In one example, the availability information may be communicated as partof an Availability Attribute, e.g., including a 32-bit bitmap for 32timeslots, for example, wherein each timeslot is 16 milliseconds (ms)long. For example, each bit that is not zero may represent a timeslot,during which a device sending the Availability attribute is to awake andavailable to send and/or receive data in a specified method.

In some demonstrative embodiments, the awareness networking scheme,e.g., a NAN discovery scheme, may be configured to enable pre-associatedservice discovery, for example, to synchronize Wi-Fi Stations (STAs) ina STA To STA (S2S) environment, for example, to enable the STAs todiscover and trigger connectivity and/or other interactions between theSTAs, e.g., based on services the STAs publish and/or subscribe to.

In some demonstrative embodiments, the NAN discovery scheme may includea time synchronization aspect, e.g., a time synchronization phase, and aservice discovery aspect, e.g., a service discovery phase.

Reference is made to FIG. 2, which schematically illustrates a NANdiscovery scheme 200, in accordance with some demonstrative embodiments.For example, device 102 and/or device 140 (FIG. 1) may be configured toperform one or more operations of NAN discovery scheme 200.

As shown in FIG. 2, a service discovery may be performed, for example,by transmitting and/or receiving Service Discovery Frames (SDFs) 204during Discovery Windows (DWs) 202, e.g., during the service discoveryphase.

As shown in FIG. 2, timing and/or duration of the DWs 202 may be basedon timing synchronization during a time synchronization phase within DW202, for example, by transmitting and/or receiving NAN Sync beacons 206.

Referring back to FIG. 1, in some demonstrative embodiments, device 102may be configured to provide one or more services, for example, based ona range and/or a distance between device 102 and another NAN device,e.g., device 140.

In one example, device 102 may be configured to provide content, e.g.,music, to one or more devices of coffee shop costumers, for example, ifthe customers are within a boundary, e.g., of 10 meters (m) or less, orany other boundary, from the coffee shop; and/or to stop to provide thecontent, for example, if the costumers are no longer within theboundary.

In another example, device 102 may be configured to provide to a user anotification that a friend is associated through an application, e.g., asocial application, for example, if a friend is within a predefinedrange; and/or to stop to notify the user, for example, if the friend isno longer within the predefined range.

In some demonstrative embodiments, a range measurement between device102 and another NAN device, e.g., device 140, may be used to determine arange between device 102 and 140.

In some demonstrative embodiments, a fixed rate ranging method may beperformed, for example, when another NAN device is identified.

In some demonstrative embodiments, the fixed rate ranging method may be“medium wasteful”, for example, if an update rate of the rangemeasurement is fixed, e.g., if no threshold exists, for example, tochange the rate.

Additionally or alternatively, the fixed rate ranging method may be“power wasteful”, e.g., if the measurement rate is fixed and a processorneeds to match between application requirements and the rangemeasurement and to configure the baseband accordingly.

In some demonstrative embodiments, device 102 may be configured tooptimize ranging measurements, e.g., using a Fine Timing Measurement(FTM) procedure or any other ranging procedure, for example, such thatthe medium and/or power may be used with increased efficiency, forexample, only when needed, e.g., depending on application requirementsand/or a current position of the device.

In some demonstrative embodiments, device 102 may be configured toenable an awareness networking device, e.g., a NAN device, to utilizegeo-fencing proximity services, e.g., as described below.

In some demonstrative embodiments, an application of device 102 may beconfigured to provide information to enable NAN module 120 to utilizethe geo-fencing proximity services.

In some demonstrative embodiments, an application of device 102, e.g.,application 125, may be configured to provide to NAN module 120 aplurality of geo-fencing parameters 123 of a geofence.

In some demonstrative embodiments, the plurality of geo-fencingparameters 123 may include a geo-fencing type.

In some demonstrative embodiments, the geo-fencing type may include avalue to indicate an internal perimeter geo-fence, an external perimetergeo-fence, an external polygonal perimeter geo-fence, an internalpolygonal perimeter geo-fence, a pure distance geo-fence, and/or anyother indication of any other additional or alternative geo-fencingtype.

Reference is made to FIG. 3, which schematically illustrates geo-fencingtypes, in accordance with some demonstrative embodiments.

As shown in FIG. 3, the geo-fencing types may include an internalperimeter geo-fence 302, an external perimeter geo-fence 304, and/or apolygonal perimeter geo-fence 306.

In some demonstrative embodiments, the geo-fencing types may include asingle-event purer-distance geo-fence (not shown in FIG. 3). Forexample, the pure-distance geo-fence may be crossed by a device, forexample, when a measured range from the device is equal to or less thana distance value.

In other embodiments one or more additional and/or alternativegeo-fencing types may be used.

In some demonstrative embodiments, the internal perimeter geo-fence 302may be defined by a perimeter surrounding an internal area.

In some demonstrative embodiments, an internal perimeter geo-fence,e.g., internal perimeter geo-fence 302, may be crossed by a device, forexample, when the device crosses the perimeter to move out from theinternal area, e.g., to an external area surrounding the perimeter.

In some demonstrative embodiments, internal perimeter geo-fence 302 maybe defined, for example, by a radius and a point of origin. In somedemonstrative embodiments, the external perimeter geo-fence 304 may bedefined by an external area surrounding a perimeter.

In some demonstrative embodiments, an external perimeter geo-fence,e.g., external perimeter geo-fence 304, may be crossed by a device, forexample, when the device crosses the perimeter from the external area,e.g., into an area surrounded by the perimeter.

In some demonstrative embodiments, external perimeter geo-fence 304 maybe defined, for example, by a radius and a point of origin.

In some demonstrative embodiments, the polygonal perimeter geo-fence 306may be defined by a polygon surrounding a polygonal internal area. Thepolygonal perimeter geo-fence 306 may include an internal geo-fence oran external geo-fence.

In one example, an internal polygonal perimeter geo-fence, e.g.,polygonal perimeter geo-fence 306, may be crossed by a device, forexample, when the device crosses the polygonal perimeter to move outfrom the polygonal area, e.g., to an external area surrounding theperimeter.

In another example, an external polygonal perimeter geo-fence, e.g.,polygonal perimeter geo-fence 306, may be crossed by a device, forexample, when the device crosses the polygonal perimeter to move intothe polygonal area, e.g., from an external area surrounding theperimeter.

In some demonstrative embodiments, polygonal perimeter geo-fence 306 maybe defined, for example, by coordinates of three or more points. Thecoordinates may include one or more relative coordinates and/or one ormore absolute coordinates.

In some demonstrative embodiments, the plurality of geo-fencingparameters 123 (FIG. 1) may include a geo-fence description of thegeofence.

In one example, the geo-fence description may include coordinates, e.g.,Cartesian coordinates, of three or more points, for example, if thegeo-fence type includes polygonal perimeter geo-fence 306.

In one example, the geo-fence description may include a location, e.g.,an origin point, and a radius, for example, if the geo-fence typeincludes internal perimeter geo-fence 302 or external perimetergeo-fence 304.

Referring back to FIG. 1, in some demonstrative embodiments, theplurality of geo-fencing parameters 123 may include an allowed reportdelay, for example, to indicate an allowed delay to report crossing ofthe geofence, for example, to an upper layer, for example, to anapplication, e.g., application 125, from which geo-fencing parameters123 are received.

In one example, the allowed report delay may be 300 milliseconds (ms).According to this example, controller 120 may report to application 125that device 140 crosses the geofence, e.g., no later than 300 ms fromdetermining the actual crossing of the geofence by device 140.

In some demonstrative embodiments, the plurality of geo-fencingparameters 123 may include a minimum measurement rate, for example, toindicate a rate of range measurements between device 102 and the device140.

In some demonstrative embodiments, the minimum measurement rate mayindicate a rate to perform range measurements between device 102 and thedevice 140, for example, if the geofence is crossed.

In one example, the minimum measurement rate may be to two seconds.According to this example, device 102 may perform range measurementswith device 140, e.g., once device 140 cross the geofence, for example,every 2 seconds (sec) or less.

In some demonstrative embodiments, application 125 may provide theplurality of geo-fencing parameters 123 to NAN module 120, for example,via interface 122.

In some demonstrative embodiments, application 125 may generate at leastone method call to interface 122. For example application 125 maygenerate a function, a function call, a callback, and/or any otherroutine from application 125 to interface 122.

In some demonstrative embodiments, the method call may include thegeo-fencing parameters 123.

In some demonstrative embodiments, interface 122, e.g., the NAN API, mayreceive the plurality of geo-fencing parameters 123, for example, fromapplication 125.

In some demonstrative embodiments, NAN module 120 may receive theplurality of geo-fencing parameters 123 via interface 122.

In some demonstrative embodiments, interface 122 may receive the atleast one method call from application 125, e.g., including thegeo-fencing parameters 123.

In some demonstrative embodiments, the method call may include a publishmethod call.

In some demonstrative embodiments, the publish method call may have aformat including one or more configuration parameters, e.g., as follows:

Publish(service_name, matching_filter_tx, matching_filter_rx,service_specific_info, configuration_parameters)

In some demonstrative embodiments, the geo-fencing parameters 123 may beincluded as part of the configuration parameters of the publish methodcall.

In some demonstrative embodiments, the plurality of geo-fencingparameters 123 may be included as part of a Ranging Type parameter, anAllowed report delay parameter, a Minimum ranging rate parameter, and/ora Geo fence description parameter of the publish method call

In some demonstrative embodiments, the Ranging Type parameter, theAllowed report delay parameter, the Minimum ranging rate parameter,and/or the Geo fence description parameter may be included as part ofthe Configuration parameters of the publish method call, e.g., asfollows:

-   -   service_name        -   UTF-8 name string which identifies the service/application    -   matching_filter_tx        -   Ordered sequence of <length, value> pairs to be included in            the discovery frame    -   matching_filter_rx        -   Ordered sequence of <length, value> pairs which specify            further response conditions beyond the service name used to            filter subscribe messages to respond to    -   service_specific_info        -   Sequence of values which should be conveyed to the Discovery            Engine of a NAN Device that has invoked a Subscribe method            corresponding to this Publish method.    -   configuration_parameters        -   Publish type            -   Determines the type of Publishing as follows                -   Unsolicited transmissions only                -   Solicited transmissions only                -   Both unsolicited and solicited transmissions        -   Discovery range            -   Determines whether the service is made discoverable in                close proximity only or to any NAN Devices within range        -   Ranging Type            -   00: internal perimeter            -   01: external perimeter            -   02: polygonal perimeter external            -   03: polygonal perimeter internal            -   04: single event pure distance        -   Allowed report delay            -   Indicates the delay between the actual physical event                and the indication to upper layer of event occurrence        -   Minimum ranging rate            -   Indicates the minimum distance measurement rate with the                pears, once the service is obtained        -   Geo fence description            -   The description of the geo-fence, e.g., radius for pure                internal or external perimeter, a set of relative or                absolute coordinate for a polygon description, and/or                any other information        -   Solicited transmission type            -   Determines whether a solicited transmission is a unicast                or a multicast transmission        -   Announcement period            -   Recommended periodicity of unsolicited transmissions        -   Time to live            -   The instance of the Publish function can be commanded to                run for a given time interval or for one transmission                only        -   Event conditions            -   Determines when Publish related events are generated.                Events can be requested to be generated on each                solicited transmission. Alternatively, no events are                expected.        -   Matching filter flag            -   Zero (0) if matching_filter_tx is equal to                matching_filter_rx            -   One (1) if matching_filter_tx is not equal to                matching_filter_rx

In other embodiments, the geo-fencing parameters 123 may be included aspart of any other additional or alternative parameter, field orinformation element, of the publish method call.

In some demonstrative embodiments, the method call may include asubscribe method call.

In some demonstrative embodiments, the subscribe method call may have aformat including one or more configuration parameters, e.g., as follows:

Subscribe(service_name, matching_filter_tx, matching_filter_rx,service_specific_info, configuration_parameters)

In some demonstrative embodiments, the geo-fencing parameters 123 may beincluded as part of the configuration parameters of the subscribe methodcall.

In some demonstrative embodiments, the plurality of geo-fencingparameters 123 may be included as part of a Ranging Type parameter, anAllowed report delay parameter, a Minimum ranging rate parameter, and/ora Geo fence description parameter of the subscribe method call

In some demonstrative embodiments, the Ranging Type parameter, theAllowed report delay parameter, the Minimum ranging rate parameter,and/or the Geo fence description parameter may be included as part ofthe Configuration parameters of the subscribe method call, e.g., asfollows:

-   -   service_name        -   UTF-8 name string which identifies the service/application    -   matching_filter_rx        -   Ordered sequence of <length, value> pairs used to filter out            received publish discovery messages containing the service            name    -   matching_filter_tx        -   Ordered sequence of <length,value> pairs included beyond the            service name when active subscription is used that are            included in the discovery frame    -   service_specific_info        -   Sequence of values which further specify the published            service beyond the service name    -   configuration_parameters        -   Subscribe type            -   Determines the type of Subscribe as follows                -   Passive                -   Active        -   Discovery range            -   Determines whether the service is searched in close                proximity only or in any NAN Devices within range        -   Ranging Type            -   00: internal perimeter            -   01: external perimeter            -   02: polygonal perimeter external            -   03: polygonal perimeter internal            -   04: single event pure distance        -   Allowed report delay            -   Indicates the delay between the actual physical event                and the indication to upper layer of event occurrence        -   Minimum ranging rate            -   Indicates the minimum distance measurement rate with the                pears, once the service is obtained        -   Geo fence description            -   The description of the geo-fence, e.g., radius for pure                internal or external perimeter, a set of relative or                absolute coordinate for a polygon description, and/or                any other information        -   Query period            -   Recommended periodicity of query transmissions        -   Time to live            -   The instance of the Subscribe function can be commanded                to run for a given time interval or until the first                DiscoveryResult event        -   Matching filter flag            -   Zero (0) if matching_filter_tx is equal to                matching_filter_rx            -   One (1) if matching_filter_tx is not equal to                matching_filter_rx

In other embodiments, the geo-fencing parameters 123 may be included aspart of any other additional or alternative parameter, field orinformation element, of the subscribe method call.

In other embodiments, the geo-fencing parameters 123 may be included aspart of any other additional or alternative parameter, field orinformation element, of any other additional or alternative method call.

In some demonstrative embodiments, the Ranging Type parameter, e.g., inthe subscribe method call and/or the publish method call, may indicate,for example, the type of an event notification, e.g., internalperimeter, external perimeter, internal polygonal perimeter, externalpolygonal perimeter, pure distance, and/or any other type.

In some demonstrative embodiments, the internal perimeter geo-fence typeand/or the external perimeter geo-fence type may be configured, forexample, to trigger sending an event, e.g., from NAN module 120 toapplication 125, during a change of the distance.

In some demonstrative embodiments, the pure distance geo-fencing typemay be configured, for example, to trigger sending an event, e.g., fromNAN module 120 to application 125, for example, at a predefined, e.g.,fixed, rate.

In some demonstrative embodiments, controller 124, e.g., the NAN DE, mayreceive the plurality of geo-fencing parameters 123, for example, frominterface 122, for example, via the method call, e.g., the subscribemethod call or the publish method call, and/or via any other function,routine or message.

In some demonstrative embodiments, controller 124 may process theplurality of geo-fencing parameters 123.

In some demonstrative embodiments, controller 124 may performgeo-fencing with another NAN device, e.g., device 140, for example,based on the plurality of geo-fencing parameters 123.

In some demonstrative embodiments, controller 124 may perform rangemeasurements with the other NAN device e.g., device 140, at a fixedmeasurement rate.

In some demonstrative embodiments, the fixed measurement rate may bedetermined, for example, based the plurality of geo-fencing parameters123, e.g., based at least on the allowed report delay, and/or theminimum measurement rate.

In some demonstrative embodiments, controller 124 may perform rangemeasurements with the other NAN device e.g., device 140, at a variablemeasurement rate.

In some demonstrative embodiments, the measurement rate may be changedand/or adjusted, for example, based at least on a distance between theother NAN device and the perimeter. For example, the rate may increaseas the other NAN device approaches the perimeter.

In some demonstrative embodiments, message processor 128, e.g., the NANMAC, may communicate one or more NAN messages with device 140,

In one example, message processor 128 may communicate the one or moreNAN messages with device 140, for example, to discover device 140, tocommunicate with device 140, to perform geo-fencing with device 140, tocoordinate one or more range measurements with device 140, to performthe one or more range measurements with device 140, and/or to performany other operations with respect to device 140.

In some demonstrative embodiments, message processor 128 may communicateone or more Fine Time Measurement (FTM) messages with the other NANdevice, e.g., based on the geo-fencing parameters 123.

In one example, message processor 128 may communicate the one or moreFTM messages to perform range measurements at a measurement rate, whichis based on the minimum measurement rate.

In another example, message processor 128 may determine whether or notto communicate the one or more FTM messages, for example, based on adistance of device 140 from a polygonal perimeter, for example, if thegeo-fencing parameters 123 indicate the polygonal parameter geo-fence.

In another example, message processor 128 may determine whether or notto communicate the one or more FTM messages, for example, based on adistance of device 140 from an internal perimeter, for example, if thegeo-fencing parameters 123 indicate the internal parameter geo-fence.

In another example, message processor 128 may determine whether or notto communicate the one or more FTM messages, for example, based on adistance of device 140 from an external perimeter, for example, if thegeo-fencing parameters 123 indicate the external parameter geo-fence.

In some demonstrative embodiments, controller 124 may be configured toprovide to one or more applications of device 102, e.g., application125, one or more indications with respect to the another NAN device,e.g., device 140, for example, based on the geo-fencing parameters 123.

In some demonstrative embodiments, controller 124 may be configured toprovide to application 125 at least one indication that the geofence iscrossed, for example, based on the geo-fencing parameters 123.

In one example, the plurality of geo-fencing parameters 123 may includea geo-fence type parameter to indicate a geo-fence type of an internalperimeter, and a geofence description parameter indicating a radius offive meters. According to this example, controller 124 may provide anindication that the geofence is crossed, for example, if rangemeasurements indicate that device 140 is at a range of less than fivemeters from device 102.

In some demonstrative embodiments, controller 124 may provide theindications to the one or more applications of device 102, for example,using interface 122.

In one example, controller 124 may use interface 122 to provide anindication to application 125, e.g., via the subscribe method call orthe publish method call, that device 140 has crossed the geofence.

In some demonstrative embodiments, application 125 may receive the oneor more indications from NAN module 120, for example, with respect tothe geo-fence, e.g., the indication that the geofence is crossed.

In some demonstrative embodiments, the one or more indications may bebased on the plurality of geo-fencing parameters 123, e.g., as describedabove.

In some demonstrative embodiments, application 125 may perform one ormore operations based on the one or more indications.

In one example, application 125 may be configured to provide one or moredeals offered by a shop to a user, for example, based on an externalperimeter geo-fence defined around the shop. According to this example,application 125 may provide the one or more deals to the user, forexample, if application 125 receives an indication from controller 124that the user crossed the external perimeter geo-fence.

In some demonstrative embodiments, providing the plurality ofgeo-fencing parameters 123, e.g., from applications 125 to controller124, may enable device 102 to perform geo-fencing with another NANdevice, e.g., device 140, according to the plurality of geo-fencingparameters 123, e.g., at least in a medium-efficient manner and/or apower-efficient manner.

Reference is made to FIG. 4, which schematically illustrates a method ofGeo-Fencing in a Neighbor Awareness Networking (NAN) device, inaccordance with some demonstrative embodiments. For example, one or moreof the operations of the method of FIG. 4 may be performed by one ormore elements of a system, e.g., system 100 (FIG. 1); a device, e.g.,wireless communication devices 102, and/or 140 (FIG. 1); a NAN module,e.g., NAN module 120 (FIG. 1); a controller, e.g., controller 124 (FIG.1); a radio, e.g., radio 114 (FIG. 1); and/or a message processor, e.g.,message processor 128 (FIG. 1).

As indicated at block 401, the method may include providing to a NANmodule of a NAN device a plurality of geo-fencing parameters of ageofence. For example, application 125 (FIG. 1) may provide to NANmodule 120 (FIG. 1) the plurality of geo-fencing parameters 123 (FIG.1), for example, via interface 122 (FIG. 1), e.g., as described above.

As indicated at block 404, the geo-fencing parameters may include ageo-fencing type to indicate a type of the geofence. For example thegeo-fencing type may include a value to indicate an internal perimetergeo-fence, an external perimeter geo-fence, an external polygonalperimeter geo-fence, an internal polygonal perimeter geo-fence, a puredistance geo-fence, and/or any other geo-fence type. For example,geo-fencing parameters 123 (FIG. 1) may include the geo-fencing type,e.g., as described above.

As indicated at block 406, the geo-fencing parameters may include anallowed report delay to indicate an allowed delay to report crossing ofthe geofence. For example, geo-fencing parameters 123 (FIG. 1) mayinclude the allowed report delay to indicate the allowed delay to reportcrossing of the geofence, e.g., as described above.

As indicated at block 408, the geo-fencing parameters may include aminimum measurement rate to indicate a rate of range measurementsbetween the NAN device and the other NAN device. For example,geo-fencing parameters 123 (FIG. 1) may include the minimum measurementrate to indicate a rate of range measurements between device 102(FIG. 1) and another device, e.g., device 140 (FIG. 1), e.g., asdescribed above.

As indicated at block 410, the geo-fencing parameters may include ageo-fence description of the geofence. For example, geo-fencingparameters 123 (FIG. 1) may include the geo-fence description of thegeofence, e.g., as described above.

As indicated at block 402, the method may include processing theplurality of geo-fencing parameters of the geofence. For example,controller 124 (FIG. 1) may process the plurality of geo-fencingparameters 123 (FIG. 1), e.g., from application 125 (FIG. 1), e.g., asdescribed above.

As indicated at block 412, the method may include performing geo-fencingwith another NAN device, for example, based at least on the geo-fencingparameters. For example, controller 124 (FIG. 1) may perform geo-fencingwith device 140 (FIG. 1), e.g., based at least on the plurality ofgeo-fencing parameters 123 (FIG. 1), e.g., as described above.

As indicated at block 414, performing geo-fencing with the other NANdevice may include communicating one or more Fine Time Measurement (FTM)messages with the other NAN device, for example, based at least on thegeo-fencing parameters. For example, message processor 128 (FIG. 1) maycommunicate one or more FTM messages with device 140 (FIG. 1), forexample, based on the plurality of geo-fencing parameters 123 (FIG. 1),e.g., as described above.

As indicated at block 416, the method may include providing to theapplication one or more indications with respect to the other NANdevice, e.g., based at least on the geo-fencing parameters. For example,controller 124 (FIG. 1) may provide to application 125 (FIG. 1) one ormore indications with respect to device 140 (FIG. 1), e.g., based on theplurality of geo-fencing parameters 123 (FIG. 1), e.g., as describedabove.

As indicated at block 418, the method may include providing to theapplication at least one indication that the geofence is crossed. Forexample, controller 124 (FIG. 1) may provide to application 125 (FIG. 1)the indication that the geofence is crossed by device 140 (FIG. 1),e.g., as described above.

As indicated at block 420, the method may include performing one or moreoperations based on the one or more indications. For example,application 125 (FIG. 1) may perform one or more operations, forexample, based on an indication that the geo-fence is crossed by device140 (FIG. 1), e.g., as described above.

Reference is made to FIG. 5, which schematically illustrates a productof manufacture 500, in accordance with some demonstrative embodiments.Product 500 may include a non-transitory machine-readable storage medium502 to store logic 504, which may be used, for example, to perform atleast part of the functionality of devices 102 (FIG. 1) and/or 140 (FIG.1), radio 114 (FIG. 1), transmitter 118 (FIG. 1), receiver 116 (FIG. 1),NAN module 120 (FIG. 1), interface 122 (FIG. 1), controller 124 (FIG.1), and/or message processor 128 (FIG. 1), and/or to perform one or moreoperations of the method of FIG. 4. The phrase “non-transitorymachine-readable medium” is directed to include all computer-readablemedia, with the sole exception being a transitory propagating signal.

In some demonstrative embodiments, product 500 and/or machine-readablestorage medium 502 may include one or more types of computer-readablestorage media capable of storing data, including volatile memory,non-volatile memory, removable or non-removable memory, erasable ornon-erasable memory, writeable or re-writeable memory, and the like. Forexample, machine-readable storage medium 502 may include, RAM, DRAM,Double-Data-Rate DRAM (DDR-DRAM), SDRAM, static RAM (SRAM), ROM,programmable ROM (PROM), erasable programmable ROM (EPROM), electricallyerasable programmable ROM (EEPROM), Compact Disk ROM (CD-ROM), CompactDisk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), flash memory(e.g., NOR or NAND flash memory), content addressable memory (CAM),polymer memory, phase-change memory, ferroelectric memory,silicon-oxide-nitride-oxide-silicon (SONOS) memory, a disk, a floppydisk, a hard drive, an optical disk, a magnetic disk, a card, a magneticcard, an optical card, a tape, a cassette, and the like. Thecomputer-readable storage media may include any suitable media involvedwith downloading or transferring a computer program from a remotecomputer to a requesting computer carried by data signals embodied in acarrier wave or other propagation medium through a communication link,e.g., a modem, radio or network connection.

In some demonstrative embodiments, logic 504 may include instructions,data, and/or code, which, if executed by a machine, may cause themachine to perform a method, process and/or operations as describedherein. The machine may include, for example, any suitable processingplatform, computing platform, computing device, processing device,computing system, processing system, computer, processor, or the like,and may be implemented using any suitable combination of hardware,software, firmware, and the like.

In some demonstrative embodiments, logic 504 may include, or may beimplemented as, software, a software module, an application, a program,a subroutine, instructions, an instruction set, computing code, words,values, symbols, and the like. The instructions may include any suitabletype of code, such as source code, compiled code, interpreted code,executable code, static code, dynamic code, and the like. Theinstructions may be implemented according to a predefined computerlanguage, manner or syntax, for instructing a processor to perform acertain function. The instructions may be implemented using any suitablehigh-level, low-level, object-oriented, visual, compiled and/orinterpreted programming language, such as C, C++, Java, BASIC, Matlab,Pascal, Visual BASIC, assembly language, machine code, and the like.

EXAMPLES

The following examples pertain to further embodiments.

Example 1 includes an apparatus comprising circuitry configured to causea Neighbor Awareness Networking (NAN) device to process a plurality ofgeo-fencing parameters of a geofence from an application on the NANdevice; and perform geo-fencing with another NAN device based on thegeo-fencing parameters.

Example 2 includes the subject matter of Example 1, and optionally,wherein the plurality of geo-fencing parameters comprises a geo-fencingtype, the geo-fencing type comprising a value to indicate an internalperimeter geofence, an external perimeter geofence, an externalpolygonal perimeter geofence, an internal polygonal perimeter geofence,or a pure distance geofence.

Example 3 includes the subject matter of Example 1 or 2, and optionally,wherein the plurality of geo-fencing parameters comprises an allowedreport delay to indicate an allowed delay to report crossing of thegeofence.

Example 4 includes the subject matter of any one of Examples 1-3, andoptionally, wherein the plurality of geo-fencing parameters comprises aminimum measurement rate to indicate a rate of range measurementsbetween the NAN device and the another NAN device.

Example 5 includes the subject matter of any one of Examples 1-4, andoptionally, wherein the plurality of geo-fencing parameters comprises ageo-fence description of the geofence.

Example 6 includes the subject matter of any one of Examples 1-5, andoptionally, comprising a NAN engine to process the plurality ofgeo-fencing parameters, and a NAN media access control (MAC) tocommunicate one or more NAN messages with the another NAN device.

Example 7 includes the subject matter of any one of Examples 1-6, andoptionally, comprising at least one NAN Application Protocol Interface(API) to receive the plurality of geo-fencing parameters from theapplication.

Example 8 includes the subject matter of Example 7, and optionally,wherein the NAN API is to receive at least one method call from theapplication, the method call comprising the geo-fencing parameters.

Example 9 includes the subject matter of Example 8, and optionally,wherein the method call comprises a publish method call or a subscribemethod call.

Example 10 includes the subject matter of any one of Examples 1-9, andoptionally, being configured to cause the NAN device to provide to theapplication one or more indications with respect to the another NANdevice, based on the geo-fencing parameters.

Example 11 includes the subject matter of any one of Examples 1-10, andoptionally, being configured to cause the NAN device to provide to theapplication at least one indication that the geofence is crossed.

Example 12 includes the subject matter of any one of Examples 1-11, andoptionally, being configured to cause the NAN device to communicate oneor more Fine Time Measurement (FTM) messages with the another NANdevice, based on the geo-fencing parameters.

Example 13 includes the subject matter of any one of Examples 1-12, andoptionally, comprising a radio.

Example 14 includes the subject matter of any one of Examples 1-13, andoptionally, comprising one or more antennas, a memory, and a processor.

Example 15 includes a Neighbor Awareness Networking (NAN) devicecomprising one or more antennas; a memory; a processor; a radio; and aNAN module to process a plurality of geo-fencing parameters of ageofence from an application on the NAN device, and to performgeo-fencing with another NAN device based on the geo-fencing parameters.

Example 16 includes the subject matter of Example 15, and optionally,wherein the plurality of geo-fencing parameters comprises a geo-fencingtype, the geo-fencing type comprising a value to indicate an internalperimeter geofence, an external perimeter geofence, an externalpolygonal perimeter geofence, an internal polygonal perimeter geofence,or a pure distance geofence.

Example 17 includes the subject matter of Example 15 or 16, andoptionally, wherein the plurality of geo-fencing parameters comprises anallowed report delay to indicate an allowed delay to report crossing ofthe geofence.

Example 18 includes the subject matter of any one of Examples 15-17, andoptionally, wherein the plurality of geo-fencing parameters comprises aminimum measurement rate to indicate a rate of range measurementsbetween the NAN device and the another NAN device.

Example 19 includes the subject matter of any one of Examples 15-18, andoptionally, wherein the plurality of geo-fencing parameters comprises ageo-fence description of the geofence.

Example 20 includes the subject matter of any one of Examples 15-19, andoptionally, wherein the NAN module comprises a NAN engine to process theplurality of geo-fencing parameters, and a NAN media access control(MAC) to communicate one or more NAN messages with the another NANdevice.

Example 21 includes the subject matter of any one of Examples 15-20, andoptionally, comprising at least one NAN Application Protocol Interface(API) to receive the plurality of geo-fencing parameters from theapplication.

Example 22 includes the subject matter of Example 21, and optionally,wherein the NAN API is to receive at least one method call from theapplication, the method call comprising the geo-fencing parameters.

Example 23 includes the subject matter of Example 22, and optionally,wherein the method call comprises a publish method call or a subscribemethod call.

Example 24 includes the subject matter of any one of Examples 15-23, andoptionally, wherein the NAN module is to provide to the application oneor more indications with respect to the another NAN device, based on thegeo-fencing parameters.

Example 25 includes the subject matter of any one of Examples 15-24, andoptionally, wherein the NAN module is to provide to the application atleast one indication that the geofence is crossed.

Example 26 includes the subject matter of any one of Examples 15-25, andoptionally, wherein the NAN module is to communicate one or more FineTime Measurement (FTM) messages with the another NAN device, based onthe geo-fencing parameters.

Example 27 includes a method to be performed at a Neighbor AwarenessNetworking (NAN) device, the method comprising processing a plurality ofgeo-fencing parameters of a geofence from an application on the NANdevice; and performing geo-fencing with another NAN device based on thegeo-fencing parameters.

Example 28 includes the subject matter of Example 27, and optionally,wherein the plurality of geo-fencing parameters comprises a geo-fencingtype, the geo-fencing type comprising a value to indicate an internalperimeter geofence, an external perimeter geofence, an externalpolygonal perimeter geofence, an internal polygonal perimeter geofence,or a pure distance geofence.

Example 29 includes the subject matter of Example 27 or 28, andoptionally, wherein the plurality of geo-fencing parameters comprises anallowed report delay to indicate an allowed delay to report crossing ofthe geofence.

Example 30 includes the subject matter of any one of Examples 27-29, andoptionally, wherein the plurality of geo-fencing parameters comprises aminimum measurement rate to indicate a rate of range measurementsbetween the NAN device and the another NAN device.

Example 31 includes the subject matter of any one of Examples 27-30, andoptionally, wherein the plurality of geo-fencing parameters comprises ageo-fence description of the geofence.

Example 32 includes the subject matter of any one of Examples 27-31, andoptionally, comprising communicating one or more NAN messages with theanother NAN device.

Example 33 includes the subject matter of any one of Examples 27-32, andoptionally, comprising receiving the plurality of geo-fencing parametersfrom the application via an Application Protocol Interface (API).

Example 34 includes the subject matter of Example 33, and optionally,comprising receiving at least one method call from the application, themethod call comprising the geo-fencing parameters.

Example 35 includes the subject matter of Example 34, and optionally,wherein the method call comprises a publish method call or a subscribemethod call.

Example 36 includes the subject matter of any one of Examples 27-35, andoptionally, comprising providing to the application one or moreindications with respect to the another NAN device, based on thegeo-fencing parameters.

Example 37 includes the subject matter of any one of Examples 27-36, andoptionally, comprising providing to the application at least oneindication that the geofence is crossed.

Example 38 includes the subject matter of any one of Examples 27-37, andoptionally, comprising communicating one or more Fine Time Measurement(FTM) messages with the another NAN device, based on the geo-fencingparameters.

Example 39 includes a product comprising one or more tangiblecomputer-readable non-transitory storage media comprisingcomputer-executable instructions operable to, when executed by at leastone computer processor, enable the at least one computer processor toperform one or more operations at a Neighbor Awareness Networking (NAN)device, the operations comprising processing a plurality of geo-fencingparameters of a geofence from an application on the NAN device; andperforming geo-fencing with another NAN device based on the geo-fencingparameters.

Example 40 includes the subject matter of Example 39, and optionally,wherein the plurality of geo-fencing parameters comprises a geo-fencingtype, the geo-fencing type comprising a value to indicate an internalperimeter geofence, an external perimeter geofence, an externalpolygonal perimeter geofence, an internal polygonal perimeter geofence,or a pure distance geofence.

Example 41 includes the subject matter of Example 39 or 40, andoptionally, wherein the plurality of geo-fencing parameters comprises anallowed report delay to indicate an allowed delay to report crossing ofthe geofence.

Example 42 includes the subject matter of any one of Examples 39-41, andoptionally, wherein the plurality of geo-fencing parameters comprises aminimum measurement rate to indicate a rate of range measurementsbetween the NAN device and the another NAN device.

Example 43 includes the subject matter of any one of Examples 39-42, andoptionally, wherein the plurality of geo-fencing parameters comprises ageo-fence description of the geofence.

Example 44 includes the subject matter of any one of Examples 39-43, andoptionally, wherein the operations comprise communicating one or moreNAN messages with the another NAN device.

Example 45 includes the subject matter of any one of Examples 39-44, andoptionally, wherein the operations comprise receiving the plurality ofgeo-fencing parameters from the application via an Application ProtocolInterface (API).

Example 46 includes the subject matter of Example 45, and optionally,wherein the operations comprise receiving at least one method call fromthe application, the method call comprising the geo-fencing parameters.

Example 47 includes the subject matter of Example 46, and optionally,wherein the method call comprises a publish method call or a subscribemethod call.

Example 48 includes the subject matter of any one of Examples 39-47, andoptionally, wherein the operations comprise providing to the applicationone or more indications with respect to the another NAN device, based onthe geo-fencing parameters.

Example 49 includes the subject matter of any one of Examples 39-48, andoptionally, wherein the operations providing to the application at leastone indication that the geofence is crossed.

Example 50 includes the subject matter of any one of Examples 39-49, andoptionally, wherein the operations comprise communicating one or moreFine Time Measurement (FTM) messages with the another NAN device, basedon the geo-fencing parameters.

Example 51 includes an apparatus of wireless communication by a NeighborAwareness Networking (NAN) device, the apparatus comprising means forprocessing a plurality of geo-fencing parameters of a geofence from anapplication on the NAN device; and means for performing geo-fencing withanother NAN device based on the geo-fencing parameters.

Example 52 includes the subject matter of Example 51, and optionally,wherein the plurality of geo-fencing parameters comprises a geo-fencingtype, the geo-fencing type comprising a value to indicate an internalperimeter geofence, an external perimeter geofence, an externalpolygonal perimeter geofence, an internal polygonal perimeter geofence,or a pure distance geofence.

Example 53 includes the subject matter of Example 51 or 52, andoptionally, wherein the plurality of geo-fencing parameters comprises anallowed report delay to indicate an allowed delay to report crossing ofthe geofence.

Example 54 includes the subject matter of any one of Examples 51-53, andoptionally, wherein the plurality of geo-fencing parameters comprises aminimum measurement rate to indicate a rate of range measurementsbetween the NAN device and the another NAN device.

Example 55 includes the subject matter of any one of Examples 51-54, andoptionally, wherein the plurality of geo-fencing parameters comprises ageo-fence description of the geofence.

Example 56 includes the subject matter of any one of Examples 51-55, andoptionally, comprising NAN engine means for processing the plurality ofgeo-fencing parameters, and NAN media access control (MAC) means forcommunicating one or more NAN messages with the another NAN device.

Example 57 includes the subject matter of any one of Examples 51-56, andoptionally, comprising NAN Application Protocol Interface (API) meansfor receiving the plurality of geo-fencing parameters from theapplication.

Example 58 includes the subject matter of Example 57, and optionally,comprising means for receiving at least one method call from theapplication, the method call comprising the geo-fencing parameters.

Example 59 includes the subject matter of Example 58, and optionally,wherein the method call comprises a publish method call or a subscribemethod call.

Example 60 includes the subject matter of any one of Examples 51-59, andoptionally, comprising means for providing to the application one ormore indications with respect to the another NAN device, based on thegeo-fencing parameters.

Example 61 includes the subject matter of any one of Examples 51-60, andoptionally, comprising means for providing to the application at leastone indication that the geofence is crossed.

Example 62 includes the subject matter of any one of Examples 51-61, andoptionally, comprising means for communicating one or more Fine TimeMeasurement (FTM) messages with the another NAN device, based on thegeo-fencing parameters.

Example 63 includes a product comprising one or more tangiblecomputer-readable non-transitory storage media comprisingcomputer-executable instructions operable to, when executed by at leastone computer processor, enable the at least one computer processor toperform one or more operations at a Neighbor Awareness Networking (NAN)device, the operations comprising providing to a NAN module a pluralityof geo-fencing parameters of a geofence; and processing one or moregeo-fencing indications from the NAN module with respect to thegeofence, the geo-fencing indications being based on the plurality ofgeo-fencing parameters.

Example 64 includes the subject matter of Example 63, and optionally,wherein the plurality of geo-fencing parameters comprises a geo-fencingtype, the geo-fencing type comprising a value to indicate an internalperimeter geofence, an external perimeter geofence, an externalpolygonal perimeter geofence, an internal polygonal perimeter geofenceor a pure distance geofence.

Example 65 includes the subject matter of Example 63 or 64, andoptionally, wherein the plurality of geo-fencing parameters comprises anallowed report delay to indicate an allowed delay to report when thegeofence is crossed.

Example 66 includes the subject matter of any one of Examples 63-65, andoptionally, wherein the plurality of geo-fencing parameters comprises aminimum measurement rate to indicate a rate of range measurementsbetween the NAN device and another NAN device crossing the geofence.

Example 67 includes the subject matter of any one of Examples 63-66, andoptionally, wherein the plurality of geo-fencing parameters comprises ageo-fence description of the geofence.

Example 68 includes the subject matter of any one of Examples 63-67, andoptionally, wherein the one or more geo-fencing indications comprise anindication that the geofence is crossed.

Example 69 includes the subject matter of any one of Examples 63-68, andoptionally, wherein the operations comprise providing the plurality ofgeo-fencing parameters to the NAN module via at least one method call.

Example 70 includes the subject matter of Example 69, and optionally,wherein the method call comprises a publish method call or a subscribemethod call.

Example 71 includes the subject matter of any one of Examples 63-70, andoptionally, wherein the NAN module comprises a NAN engine.

Example 72 includes a method to be performed at a Neighbor AwarenessNetworking (NAN) device, the method comprising providing to a NAN modulea plurality of geo-fencing parameters of a geofence; and processing oneor more geo-fencing indications from the NAN module with respect to thegeofence, the geo-fencing indications being based on the plurality ofgeo-fencing parameters.

Example 73 includes the subject matter of Example 72, and optionally,wherein the plurality of geo-fencing parameters comprises a geo-fencingtype, the geo-fencing type comprising a value to indicate an internalperimeter geofence, an external perimeter geofence, an externalpolygonal perimeter geofence, an internal polygonal perimeter geofenceor a pure distance geofence.

Example 74 includes the subject matter of Example 72 or 73, andoptionally, wherein the plurality of geo-fencing parameters comprises anallowed report delay to indicate an allowed delay to report when thegeofence is crossed.

Example 75 includes the subject matter of any one of Examples 72-74, andoptionally, wherein the plurality of geo-fencing parameters comprises aminimum measurement rate to indicate a rate of range measurementsbetween the NAN device and another NAN device crossing the geofence.

Example 76 includes the subject matter of any one of Examples 72-75, andoptionally, wherein the plurality of geo-fencing parameters comprises ageo-fence description of the geofence.

Example 77 includes the subject matter of any one of Examples 72-76, andoptionally, wherein the one or more geo-fencing indications comprise anindication that the geofence is crossed.

Example 78 includes the subject matter of any one of Examples 72-77, andoptionally, comprising providing the plurality of geo-fencing parametersto the NAN module via at least one method call.

Example 79 includes the subject matter of Example 78, and optionally,wherein the method call comprises a publish method call or a subscribemethod call.

Example 80 includes the subject matter of any one of Examples 72-79, andoptionally, wherein the NAN module comprises a NAN engine.

Example 81 includes an apparatus of wireless communication by a NeighborAwareness Networking (NAN) device, the apparatus comprising means forproviding to a NAN module a plurality of geo-fencing parameters of ageofence; and means for processing one or more geo-fencing indicationsfrom the NAN module with respect to the geofence, the geo-fencingindications being based on the plurality of geo-fencing parameters.

Example 82 includes the subject matter of Example 81, and optionally,wherein the plurality of geo-fencing parameters comprises a geo-fencingtype, the geo-fencing type comprising a value to indicate an internalperimeter geofence, an external perimeter geofence, an externalpolygonal perimeter geofence, an internal polygonal perimeter geofenceor a pure distance geofence.

Example 83 includes the subject matter of Example 81 or 82, andoptionally, wherein the plurality of geo-fencing parameters comprises anallowed report delay to indicate an allowed delay to report when thegeofence is crossed.

Example 84 includes the subject matter of any one of Examples 81-83, andoptionally, wherein the plurality of geo-fencing parameters comprises aminimum measurement rate to indicate a rate of range measurementsbetween the NAN device and another NAN device crossing the geofence.

Example 85 includes the subject matter of any one of Examples 81-84, andoptionally, wherein the plurality of geo-fencing parameters comprises ageo-fence description of the geofence.

Example 86 includes the subject matter of any one of Examples 81-85, andoptionally, wherein the one or more geo-fencing indications comprise anindication that the geofence is crossed.

Example 87 includes the subject matter of any one of Examples 81-86, andoptionally, comprising means for providing the plurality of geo-fencingparameters to the NAN module via at least one method call.

Example 88 includes the subject matter of Example 87, and optionally,wherein the method call comprises a publish method call or a subscribemethod call.

Example 89 includes the subject matter of any one of Examples 81-88, andoptionally, wherein the NAN module comprises a NAN engine.

Functions, operations, components and/or features described herein withreference to one or more embodiments, may be combined with, or may beutilized in combination with, one or more other functions, operations,components and/or features described herein with reference to one ormore other embodiments, or vice versa.

While certain features have been illustrated and described herein, manymodifications, substitutions, changes, and equivalents may occur tothose skilled in the art. It is, therefore, to be understood that theappended claims are intended to cover all such modifications and changesas fall within the true spirit of the disclosure.

What is claimed is:
 1. An apparatus comprising: a memory; and aprocessor configured to cause a Neighbor Awareness Networking (NAN)engine of a first NAN device to: process a method call from a service orapplication (service/application) on the first NAN device, the methodcall comprising one or more configuration parameters to configure acondition for NAN geo-fencing based on a geo-fence range; determine ameasured range between the first NAN device and a second NAN device;determine whether the condition is met based on a comparison between themeasured range and the geo-fence range; and when the condition is met,send an event to the service/application, the event comprising anindication that the condition is met.
 2. The apparatus of claim 1,wherein the configuration parameters comprise a geo-fence description todefine the geo-fence range.
 3. The apparatus of claim 1, wherein thecondition comprises a crossing of a geo-fence perimeter corresponding tothe geo-fence range.
 4. The apparatus of claim 1, wherein the conditioncomprises movement of the second NAN device into the geo-fence range. 5.The apparatus of claim 1, wherein the condition comprises movement ofthe second NAN device out of the geo-fence range.
 6. The apparatus ofclaim 1, wherein the geo-fence range is to define a perimeter of ageo-fencing area.
 7. The apparatus of claim 1 configured to cause theNAN engine to determine the measured range according to a Fine TimingMeasurement (FTM) procedure comprising an exchange of FTM messagesbetween the first and second NAN devices.
 8. The apparatus of claim 1,wherein the method call comprises a publish method call, the publishmethod call comprising a service name to identify theservice/application.
 9. The apparatus of claim 1, wherein the methodcall comprises a NAN service discovery method, the NAN service discoverymethod comprising one or more discovery parameters to configure servicediscovery in a NAN cluster.
 10. The apparatus of claim 9, wherein theNAN service discovery method comprises a publish method or a subscribemethod.
 11. The apparatus of claim 1 comprising a NAN ApplicationProtocol Interface (API) to receive the method call from theservice/application, and to provide the event from the NAN engine to theservice/application.
 12. The apparatus of claim 1 configured to cause aNAN Medium Access Controller (MAC) of the first NAN device to processone or more NAN messages to be communicated with the second NAN device.13. The apparatus of claim 1 comprising the NAN engine.
 14. Theapparatus of claim 1 comprising a radio.
 15. The apparatus of claim 1comprising one or more antennas.
 16. A product comprising one or moretangible computer-readable non-transitory storage media comprisingcomputer-executable instructions operable to, when executed by at leastone processor, enable the at least one processor to cause a NeighborAwareness Networking (NAN) engine of a first NAN device to: process amethod call from a service or application (service/application) on thefirst NAN device, the method call comprising one or more configurationparameters to configure a condition for NAN geo-fencing based on ageo-fence range; determine a measured range between the first NAN deviceand a second NAN device; determine whether the condition is met based ona comparison between the measured range and the geo-fence range; andwhen the condition is met, send an event to the service/application, theevent comprising an indication that the condition is met.
 17. Theproduct of claim 16, wherein the configuration parameters comprise ageo-fence description to define the geo-fence range.
 18. The product ofclaim 16, wherein the condition comprises movement of the second NANdevice into the geo-fence range or out of the geo-fence range.
 19. Theproduct of claim 16, wherein the geo-fence range is to define aperimeter of a geo-fencing area.
 20. The product of claim 16, whereinthe instructions, when executed, cause the NAN engine to determine themeasured range according to a Fine Timing Measurement (FTM) procedurecomprising an exchange of FTM messages between the first and second NANdevices.
 21. The product of claim 16, wherein the method call comprisesa publish method call, the publish method call comprising a service nameto identify the service/application.
 22. The product of claim 16,wherein the method call comprises a NAN service discovery method, theNAN service discovery method comprising one or more discovery parametersto configure service discovery in a NAN cluster.
 23. The product ofclaim 16, wherein the instructions, when executed, result in a NANApplication Protocol Interface (API) to receive the method call from theservice/application, and to provide the event from the NAN engine to theservice/application.
 24. The product of claim 16, wherein theinstructions, when executed, cause a NAN Medium Access Controller (MAC)of the first NAN device to process one or more NAN messages to becommunicated with the second NAN device.
 25. An apparatus comprising:means for processing a method call from a service or application(service/application) on a first NAN device, the method call comprisingone or more configuration parameters to configure a condition for NANgeo-fencing based on a geo-fence range; means for determining a measuredrange between the first NAN device and a second NAN device; and meansfor determining whether the condition is met based on a comparisonbetween the measured range and the geo-fence range, and, when thecondition is met, sending an event to the service/application, the eventcomprising an indication that the condition is met.
 26. The apparatus ofclaim 25, wherein the configuration parameters comprise a geo-fencedescription to define the geo-fence range.
 27. The apparatus of claim 25comprising means for determining the measured range according to a FineTiming Measurement (FTM) procedure comprising an exchange of FTMmessages between the first and second NAN devices.
 28. The apparatus ofclaim 25, wherein the method call comprises a NAN service discoverymethod, the NAN service discovery method comprising one or morediscovery parameters to configure service discovery in a NAN cluster.